Characterizing the Mispredicted Branches
نویسندگان
چکیده
Studies of branch prediction have tended to emphasize aggregate measurement of prediction performance. Instead, we have taken the approach that there are likely to be a small number of branch addresses (“sites”) in the program causing the majority of all mispredictions. Using a graphical tool we developed for analyzing program traces on-the-fly, we present three interesting results, all based on measurement of benchmarks including a subset of the SPEC92 suite of programs: More than 90% of all misses can be attributed to the top 0.5% of sites causing branch mispredictions. Additionally, the top fifty sites account for more than 86% all mispredictions. For these popular misprediction sites, the distance in dynamic instructions until the next mispredicted site is quite large on average (more than 50-200 instructions), making exotic techniques such as guarded execution seem feasible. Finally, we found that these sites exhibited larger than average miss rates, indicating that these sites are both executed many times and have high miss rates. Our study was limited to correlating, stateful hardware prediction schemes.
منابع مشابه
An approach for quantifying the impact of not simulating mispredicted paths
We describe an approach and set of tools for quantifying the potential error introduced by not simulating instructions from mispredicted paths in out-of-order speculative superscalar processors. The approach consists of modeling the behavior of programs on out-of-order superscalar processors twice: once by actually simulating the effects of the instructions in the mispredicted paths, and once b...
متن کاملThe E ects of Mispredicted - Path Execution on BranchPrediction
Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works, must be obtained from the IEEE. Abstract Branch prediction accuracies determined using trace-driven simu...
متن کاملThe effects of mispredicted-path execution on branch prediction structures
Branch prediction accuracies determined using tracedriven simulation do not include the eflects of executing branches along a mispredicted path. However, branches along a mispredicted path will pollute the branch prediction structures i f no recovery mechanisms are provided. Without recovery mechanisms, prediction rates will suger. In this paper, we determine the appropriateness of recovery mec...
متن کاملPredicting Indirect Branches via Data Compression
Branch prediction is a key mechanism used to achieve high performance on multiple issue, deeply pipelined processors. By predicting the branch outcome at the instruction fetch stage of the pipeline, superscalar processors are better able to exploit Instruction Level Parallelism (ILP) by providing a larger window of instructions. However, when a branch is mispredicted, instructions from the misp...
متن کاملIncorporating Predicate Information into Branch Predictors
Predicated Execution can be used to alleviate the costs associated with frequently mispredicted branches. This is accomplished by trading the cost of a mispredicted branch for execution of both paths following the conditional branch. In this paper we examine two enhancements for branch prediction in the presence of predicated code. Both of the techniques use recently calculated predicate defini...
متن کامل